home *** CD-ROM | disk | FTP | other *** search
-
-
- C64S - Commodore 64 Software Emulator
- Shareware verison 0.9B, November 1993
- (C) 1991,92,93 Miha Peternel
-
-
-
- USER'S MANUAL
-
-
-
- ___________________
- 1. INTRODUCTION
-
-
- Welcome to a new emulator of the good old fat C64. It will allow
- you to run most of the original C64 software on your PC.
-
- This version is SHAREWARE. It is free for personal use, but if
- you want a perfect version of the emulator, you will need to
- register.
-
- Minimum configuration:
- - 386 or higher (286 in the demo version only)
- - 640K RAM
- - VGA display (register compatible)
- - DOS 3.3 (lower not tested)
-
- Optional:
- - a soundcard:
- Gravis UltraSound
- Sound Blaster (all versions)
- Covox or compatible DAC (digital to analog converter)
- - analog PC joystick
- - tape interface (supported in registered version)
- - disk 1541 interface (supported in registered version)
-
- You need at least a 386DX40 with a fast VGA for real time
- emulation. A soundcard is recommended, though the sound can also
- be played through PC speaker (at rather low quality).
-
-
-
- ________________
- 2. IN ACTION
-
-
- The emulator emulates all the components of C64 needed to make
- the programs run correctly, display genuine graphics, synthesize
- music, and emulate I/O operations.
-
- The keyboard layout is original C64 with some exceptions due to
- different PC layout.
-
- Some special emulator features make the work with the emulator
- easier. The tapes and disks to be used with the emulator are
- stored in a special format in image files on the hard disk. You
- can select the tape position or a disk in the selection screen.
- Emulation settings can be changed in the option screen.
-
- The following keys have special meaning:
- - F8 enters option screen
- - F9 enters selection screen
- - F10 turns emulation of both joystick ports on
- - ALT+F10 recalibrates analog joysticks
- - ESC exits emulator screens
- - CTRL+BREAK exits the emulator
- - CTRL+ALT+DEL or CTRL+ALT+BackSpace emulate reset
- - CTRL+ALT+INS causes brutal reset (for reset-protected programs)
-
- Table of replaced keys with their equivalents:
- - F1/F2..F7/F8 F1..F4 (will be changed to F1..F8)
- - C= Alt
- - Ins/Del BackSpace
- - Clr/Home Home
- - £ Insert
- - Delete
- - Run/Stop Tab
- - Restore F12
-
- Keys used for joystick emulation:
- - Port A (2):
- W up
- S down
- U left
- I right
- O fire
- - Port B (1): (numeric keys)
- 7 up
- 4 down
- 8 left
- 9 right
- + fire
-
-
- ________________________
- 3. FOR THE BEGINNERS
-
-
- Emulator exists of two executables:
- - C64S (for 386 and higher)
- - C64S286 (for 286 and higher)
- Run C64S286 only if you have a 286.
-
- The following options can be used on the command line when you
- run the emulator:
- 1. SOUND options:
- -s0 for no sound output (default)
- -su for Gravis UltraSound (220)
- -sb for Sound Blaster (220)
- -sd for DAC at LPT1 (278)
- -sp for PC speaker (042)
- If your soundcard is set to a nonstandard base address, you need
- to specify it with the sound option on the command line.
- Example: If your Gravis UltraSound card is set to base port
- address 240, use -su240 on the command line. LPT base addresses
- for DAC are 278 (LPT1), 378 (LPT2) and 3BC (LPT3). You may use a
- different address if you are not using LPT DAC.
- 2. JOYSTICK options:
- -j0 for no analog joystick (default)
- -j1 for one analog joystick
- -j2 for two analog joysticks
- If you want to use analog joystick, you need to recalibrate it by
- pressing ALT-F10 in the emulator. Joystick must be centered when
- pressing ALT-F10 in order to recalibrate it correctly. The
- information will be saved to configuration file for later use.
-
- The options specified on the command line will be written to the
- configuration file so you don't need to rewrite them the next
- time you run the emulator. You only need to specify them when you
- reconfigure your computer or when you want to force different
- functionality of the emulator.
-
- Fast intro:
- 1. Run the emulator with appropriate options (described above).
- 2. If you use analog joystick, center it and press ALT+F10 to
- recalibrate it.
- 3. Press F9 to get to the selection screen, select a tape with
- cursor keys and confirm with Enter, select a file and again
- confirm with Enter. The tape pointer will now point to selected
- tape and file and you will be returned to the C64 screen.
- 4. Press SHIFT+TAB (SHIFT+RUN/STOP), which will load a tape
- program and run it automatically.
- 5. Press F10 to turn joystick emulation on.
- 6. Enjoy the nostalgia. :)
- 7. You can always press F8 to enter option screen, where you can
- adjust some parameters to make the emulation at you computer's
- speed more acceptable. It is especially important to play with
- the raster and refresh speeds if you want to reproduce rhythmic
- music.
-
- Pressing F9 in the selection screen will switch between tape and
- disk indexes. Selecting a disk and pressing Enter works just the
- same as if you put a new diskette into the floppy drive. By
- default the emulator will read TESTDISK.D64. Be careful if the
- program writes to disk, because it can damage the contents of the
- disk you switch to when writing.
-
- Using 1541 drive operates in the original way. The CBM DOS
- commands (except format) work, too. Write LOAD"$",8,1 to load
- directory, LIST to see it, LOAD"prg name",8 to load a program
- (you may use wildcards) and RUN to start it. To load a file to
- its original address, you need to use LOAD"prg name",8,1. Run a
- machine code program writing SYS xxxx, where xxxx is the program
- entry address (decimal). VIC 20 emulator is loaded by writing
- LOAD"VIC*",8,1 and started with SYS49152.
-
- The emulator will always scan its directory for .T64 and .D64
- files. If you add new files to the emulator's directory, they
- will automatically appear in the corresponding selection screen.
- * The emulator does not support changing directories yet. All its
- files need to be in the same directory.
-
- Emulating C64 in all aspects also means you can find yourself in
- the same trouble as you were using a real C64 if something went
- wrong, moving joystick or pressing fire will dump characters to
- screen, per example.
-
- You also need to think about the emulator's features. Turning
- keyboard joystick emulation on means that used keys won't work
- like they should if you try to write text. You need to turn
- joystick emulation off (in the option screen).
-
- If you have difficulties using analog joystick, press ALT-F10 to
- recalibrate it.
-
- Sometimes when a single analog joystick emulates both joystick
- ports it may appear that the game doesn't recognize some joystick
- directions (like in Green Beret). The problem is easily solved by
- assigning analog joystick port emulation to one port only.
-
-
-
- ____________________
- 4. COMPATIBILITY
-
-
- The following is the compatibility list.
- + means implemented and compatible
- - means not implemented or not compatible
- * means planned in the future
-
-
- CPU
-
- + 6510 documented instruction set (JMP (indirect) fixed)
- * 6510 undocumented instructions only partially implemented
- + $01 memory banking
- + flags (not 100% compatible in decimal operations)
- * cycle counts
-
-
- VIC
-
- + all graphic modes
- + black screen
- + sprites
- + sprite to background priority
- + sprite to background collision
- - sprite to sprite collision buggy
- + raster interrupts
- + multiplied sprites
- + hardware scroll
- + bad line scroll
- + shrunk screen
- + 8 line update
- * line by line update
- * forced DMA
- * character line redraw
- * border and border tricks in X-mode
- * cycle exact screen changes
-
-
- SID
-
- + 3 channels
- + 8 bit sampled original waveforms
- + ADSR envelope control
- + master volume control
- + pulse width modulation
- - no channel to channel effects
- - no filters
- * filtered waveforms may be implemented on GUS
-
-
- CIA 1
-
- + keyboard emulation (still needs improvements)
- + joystick emulation
- + timer A (real time)
- - timer B
- * time of day (partially implemented)
- - serial port
- + IRQ control
- * rebindable keyboard
-
-
- CIA 2
-
- + VIC bank select
- - other features not implemented
-
-
- 1541
-
- + ROM level emulation (16K RAM & I/O + 16K ROM)
- + supports CBM DOS commands except format
- + fast (ROM trapped) C64 to 1541 connection
- + image file operation
- - protection support (GCR coding)
- * real 1541 connection
- * improved (GCR coded) image file format
- * fast loader support
- * PC side full disk transfer utilities
-
-
- TAPE
-
- + ROM trapped tape routines
- + tape image files with directory
- + ultra fast loading
- + Turbo Tape loader for PC tape connector
- + MakeTape utilities
- * built-in tape tools for comfortable tape image manipulation
- * SB and GUS versions of Turbo Tape loader
-
-
-
- _____________________
- 5. FILE TRANSFERS
-
-
- Tape files in the Turbo Tape format are the easiest to transfer
- using my PC loader. The connector scheme is simple and will be
- published together with the loader in the registered version.
-
- IMPORTANT !
-
- Since all beta tester haven't got my MakeTape utility, a utility
- named CONV64 has appeared, which creates FALSE .T64 files. The
- start and end address are not set correctly, that's why many
- compressed programs refused to work. Please use MakeTape for best
- results. There's also a C source included in case someone would
- like to tailor it to his/her needs.
-
- Disk files are possible to be transferred using X1541 program and
- a special 1541 to LPT cable. All the required schemes are a part
- of X1541. The files transferred in this way can be converted to
- tape files with MakeTape program or (if the whole disk contents
- is transferred) used as a disk image.
-
- I'll also support this type of 1541 connection in the registered
- version of my emulator.
-
-
-
- ________________
- 6. UTILITIES
-
-
- The following utilities are planned to go with the emulator:
- - built-in debugger
- - Turbo Tape loader with support for SB and GUS inputs
- - MakeTape formatter / importer / exporter
- - 1541 disk transfer utility
- - MakeDisk formatter / importer / exporter
- - 6510 Cross Assembler
-
-
-
- ______________
- 7. RELEASE
-
-
- The 1.0 release won't be ready in November, because I have
- decided (with a lot of help from beta testers) to add a long list
- of features not planned previously, not to mention the university
- after all. Please understand that the emulator is written in 100%
- assembler, which makes me write the code very carefully in order
- to avoid bugs and allow further enhancements. I also wish I had
- more time to answer all the mail and email I receive.
-
- IMPORTANT !
-
- Please DO NOT register the emulator until I announce V 1.0 is
- ready. I may arrange the registered version to be distributed by
- a software distributing company in which case it could also be
- shipped with special cables needed for 1541 and tape connection.
-
-
-
- _______________
- 8. CONTACTS
-
-
- E-mail:
- miha@rsc3.hermes.si (slow reception, fast reply)
- miha.peternel@abm.gn.apc.org (fast reception, slow reply)
- E-mail messages to both addresses if possible.
-
- Phone:
- +386-64-311-959 (fax/modem on demand)
- (How come this number reminds me of something ?)
-
- Snail mail:
- Miha Peternel (for C64S)
- Pot v Bitnje 66
- 64000 Kranj
- Slovenia, Europe
-
-